<html>
<head><meta charset="utf-8"><title>Polonius · general · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/index.html">general</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Polonius.html">Polonius</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="217348451"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Polonius/near/217348451" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Polonius.html#217348451">(Nov 20 2020 at 00:17)</a>:</h4>
<p><span class="user-mention" data-user-id="271719">@Mario Carneiro</span> case you hasn’t seen it yet: <a class="stream" data-stream-id="186049" href="/#narrow/stream/186049-t-compiler.2Fwg-polonius">#t-compiler/wg-polonius</a></p>



<a name="217348517"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Polonius/near/217348517" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Polonius.html#217348517">(Nov 20 2020 at 00:18)</a>:</h4>
<p>Context: <a href="https://stackoverflow.com/q/64902078/155423">https://stackoverflow.com/q/64902078/155423</a></p>



<a name="217348533"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Polonius/near/217348533" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Polonius.html#217348533">(Nov 20 2020 at 00:18)</a>:</h4>
<p>That is, hands down, the Zulip stream I watch with most interest.</p>



<a name="217348563"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Polonius/near/217348563" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Polonius.html#217348563">(Nov 20 2020 at 00:19)</a>:</h4>
<p>It also really needs a reasonably smart and reasonably hard-working person to be able to spend a few months on it.</p>



<a name="217349378"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Polonius/near/217349378" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mario Carneiro <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Polonius.html#217349378">(Nov 20 2020 at 00:32)</a>:</h4>
<p>I had already guessed that the answer to the polonius part of my SO question was "yes" from niko's original blog post about it, but I haven't really heard much about it since. I get the sense that lots of rust internals are getting moved into logic programming / "prolog" to make them more robust, although that sounds kind of expensive</p>



<a name="217349539"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Polonius/near/217349539" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mario Carneiro <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Polonius.html#217349539">(Nov 20 2020 at 00:35)</a>:</h4>
<p>(I also have yet to get over the psychological hump of downloading and building rustc)</p>



<a name="217352743"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Polonius/near/217352743" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Polonius.html#217352743">(Nov 20 2020 at 01:35)</a>:</h4>
<p><span class="user-mention" data-user-id="271719">@Mario Carneiro</span> if you're just doing it once you can let x.py build run overnight, the slowest parts are not likely to fail unless you run out of memory</p>



<a name="217352800"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Polonius/near/217352800" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mario Carneiro <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Polonius.html#217352800">(Nov 20 2020 at 01:36)</a>:</h4>
<p>lol it's comments like that that make me terrified</p>



<a name="217353316"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Polonius/near/217353316" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Polonius.html#217353316">(Nov 20 2020 at 01:47)</a>:</h4>
<p>It’s <em>fine</em> as long as you have a 32-core processor with liquid cooling.</p>



<a name="217353374"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Polonius/near/217353374" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Polonius.html#217353374">(Nov 20 2020 at 01:48)</a>:</h4>
<p>But seriously, part of the point for things like polonius and chalk is that you don’t have to compile the entire compiler. They are intended to be very modular.</p>



<a name="217353477"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Polonius/near/217353477" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Polonius.html#217353477">(Nov 20 2020 at 01:51)</a>:</h4>
<p><span class="user-mention" data-user-id="271719">@Mario Carneiro</span> I don't know if it will make you feel worse or better, but here are some hard numbers: <a href="https://gist.github.com/jyn514/5476c7b6122a3cb18825e1b883c18a33">https://gist.github.com/jyn514/5476c7b6122a3cb18825e1b883c18a33</a></p>



<a name="217353682"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Polonius/near/217353682" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mario Carneiro <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Polonius.html#217353682">(Nov 20 2020 at 01:56)</a>:</h4>
<p>Setting aside the crazy cost of compilation itself, it also requires a bunch of unfamiliar stuff that is specific to rustc (e.g. x.py). I would be <em>really happy</em> if it were possible to build <code>rustc</code> (not bootstrapped) using only cargo</p>



<a name="217353726"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Polonius/near/217353726" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Mario Carneiro <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Polonius.html#217353726">(Nov 20 2020 at 01:57)</a>:</h4>
<p>But from a cursory examination of polonius it does appear to be "just a crate"</p>



<a name="217355352"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Polonius/near/217355352" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Polonius.html#217355352">(Nov 20 2020 at 02:33)</a>:</h4>
<p><span class="user-mention silent" data-user-id="271719">Mario Carneiro</span> <a href="#narrow/stream/122651-general/topic/Polonius/near/217353682">said</a>:</p>
<blockquote>
<p>Setting aside the crazy cost of compilation itself, it also requires a bunch of unfamiliar stuff that is specific to rustc (e.g. x.py). I would be <em>really happy</em> if it were possible to build <code>rustc</code> (not bootstrapped) using only cargo</p>
</blockquote>
<p>this is not really feasible :/<br>
<a href="#narrow/stream/182449-t-compiler.2Fhelp/topic/How.20to.20create.20an.20executable.20accessing.20.60rustc_private.60.3F/near/216240430">https://rust-lang.zulipchat.com/#narrow/stream/182449-t-compiler.2Fhelp/topic/How.20to.20create.20an.20executable.20accessing.20.60rustc_private.60.3F/near/216240430</a><br>
<a href="https://www.reddit.com/r/rust/comments/irhj4o/blog_post_rust_in_2021/g4yvujq/?utm_source=reddit&amp;utm_medium=web2x&amp;context=3">https://www.reddit.com/r/rust/comments/irhj4o/blog_post_rust_in_2021/g4yvujq/?utm_source=reddit&amp;utm_medium=web2x&amp;context=3</a></p>



<a name="217355386"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Polonius/near/217355386" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Polonius.html#217355386">(Nov 20 2020 at 02:33)</a>:</h4>
<p>but see also <a href="#narrow/stream/131828-t-compiler/topic/RIIR.20contributor.20entry.20point">https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/RIIR.20contributor.20entry.20point</a></p>



<a name="217355436"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Polonius/near/217355436" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Polonius.html#217355436">(Nov 20 2020 at 02:34)</a>:</h4>
<p>but yeah, in theory it should be possible for the compile times to be faster, someone just needs to figure out why they're slow and fix it. I don't think <code>cargo build</code> is possible even in theory though.</p>



<a name="217367168"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Polonius/near/217367168" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Polonius.html#217367168">(Nov 20 2020 at 06:43)</a>:</h4>
<p><span class="user-mention silent" data-user-id="271719">Mario Carneiro</span> <a href="#narrow/stream/122651-general/topic/Polonius/near/217353726">said</a>:</p>
<blockquote>
<p>But from a cursory examination of polonius it does appear to be "just a crate"</p>
</blockquote>
<p>polonius and chalk are indeed "just a crate". There are a lot of advantages from that, but their purpose is to be integrated into rustc: any modification required upstream or downstream from them will require building rustc, so will some parts of testing and validation (the rustc test suite is of course way more complete than the crates do or can provide). It's much less often than working on rustc itself, and it can be different depending on the type of work and each contributor, but it's not zero.</p>



<a name="217423600"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122651-general/topic/Polonius/near/217423600" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Gus Wynn <a href="https://rust-lang.github.io/zulip_archive/stream/122651-general/topic/Polonius.html#217423600">(Nov 20 2020 at 16:25)</a>:</h4>
<p>If I means anything, I have a fairly beefy i7 quad-core macbook with 32gb of ram (i think this ram is excessive, but the biggest cpu you can get helps) I do all my personal projects on, and I find that every once in a while when I rebase my pr's I have do something else while llvm builds, but after that, any testing I do (i dont ever need to go past stage 1), while isnt FAST per-se (compiling std seems to be the biggest part), its bearable</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>